package com.leeon.thread;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

import static net.mindview.util.Print.print;

public class DaemonFromFactory implements Runnable{

	@Override
	public void run() {
		try {
			while(true) {
				TimeUnit.MILLISECONDS.sleep(100);
				print(Thread.currentThread() + " " + this);
			}
		} catch (Exception e) {
			print("Interrupted");
		}
	}
	
	public static void main(String[] args) throws InterruptedException {
		ExecutorService exec = Executors.newCachedThreadPool(new DaemonThreadFactory());
		for(int i = 0; i < 10; i++) {
			exec.execute(new DaemonFromFactory());
		}
		print("all daemon started");
		TimeUnit.MILLISECONDS.sleep(500);
	}

}
